Android adb shell命令详解及实例 |
您所在的位置:网站首页 › adb shell命令大全cd › Android adb shell命令详解及实例 |
Android的内核本身就是Linux,所以Android本身也支持Linux命令,但是因为是手机系统,所以进行了一定的删减,部分命令不支持,而不支持的部分,我们可以通过安装busybox这个软件进行填补。 认识使用android adb命令详解实例 手机执行Shell命令 在手机中执行Shell命令:1) 每次都加上adb shell来进行命令的发送与执行 adb shell2)获取模拟器所有包名 adb shell pm list packages3)获取模拟器所有包名并且包括APK路径 adb shell pm list packages -f4)获取包名对应的APK路径 adb shell pm path packageName5)清理应用数据 adb shell pm clear packageName6)启动应用 adb shell am start -n 包名/Activity类名例子:启动应用宝: adb shell am start -n com.tencent.android.qqdownloader/com.tencent.assistant.activity.SplashActivity指定模拟器启动动应用宝: adb -s 127.0.0.1:5555 shell am start -n com.tencent.android.qqdownloader/com.tencent.assistant.activity.SplashActivity7)关闭应用 adb shell am force-stop 包名8)模拟输入 adb shell input text 字符串(不支持中文)9)模拟按键 adb shell input keyevent 键值10)模拟鼠标点击 adb shell input tap X Y11)模拟鼠标滑动 adb shell input swipe X1 Y1 X2 Y212)截屏 adb shell screencap -p /sdcard/sc.png adb shell screencap -p /sdcard/text.png可以使用 adb shell screencap -h 查看 screencap 命令的帮助信息,下面是两个有意义的参数及含义: 参数 含义 -p 指定保存文件为 png 格式 -d display-id 指定截图的显示屏编号(有多显示屏的情况下) 实测如果指定文件名以 .png 结尾时可以省略 -p 参数;否则需要使用 -p 参数。如果不指定文件名,截图文件的内容将直接输出到 stdout。13)屏幕录像 例如,屏幕开始录像并且储存到/sdcard中,同时名字为demo.mp4,录制屏幕以 mp4 格式保存到 /sdcard: adb shell screenrecord /sdcard/demo.mp4需要停止时按 Ctrl-C,默认录制时间和最长录制时间都是 180 秒。 可以使用 adb shell screenrecord --help 查看 screenrecord 命令的帮助信息,下面是常见参数及含义: 参数 含义 --size WIDTHxHEIGHT 视频的尺寸,比如 1280x720,默认是屏幕分辨率。 --bit-rate RATE 视频的比特率,默认是 4Mbps。 --time-limit TIME 录制时长,单位秒。 --verbose 输出更多信息。14)关闭设备请求,开启设备 adb shell stop adb shell start15)设备关机以及重启 adb reboot adb shutdown16)设置手机IMEI/IMSI/手机号/SIM卡序列号(1.7之后版本) adb shell setprop phone.imei 865166023949731 adb shell setprop phone.imsi 460000000000000 adb shell setprop phone.linenum 13800000000 adb shell setprop phone.simserial 8986000000000000000016)滑动解锁 如果锁屏没有密码,是通过滑动手势解锁,那么可以通过 input swipe 来解锁。 命令(参数以机型 Nexus 5,向上滑动手势解锁举例): adb shell input swipe 300 1000 300 500参数 300 1000 300 500 分别表示起 始点x坐标 起始点y坐标 结束点x坐标 结束点y坐标。17)查看内核日志 adb shell dmesg查看设备信息 1)型号 adb shell getprop ro.product.model2)电池状况 adb shell dumpsys battery返回: > adb shell dumpsys battery Current Battery Service state: AC powered: true USB powered: false Wireless powered: false status: 1 health: 1 present: false level: 100 scale: 100 voltage: 0 temperature: 295 technology:其中 scale 代表最大电量,level 代表当前电量。上面的输出表示还剩下 100% 的电量。3)屏幕分辨率 adb shell wm size输出示例: Physical size: 1080x1920该设备屏幕分辨率为 1080px * 1920px。4)屏幕密度 adb shell wm density输出示例: Physical density: 420该设备屏幕密度为 420dpi。5)显示屏参 adb shell dumpsys window displays输出示例: WINDOW MANAGER DISPLAY CONTENTS (dumpsys window displays) Display: mDisplayId=0 init=1080x1920 420dpi cur=1080x1920 app=1080x1794 rng=1080x1017-1810x1731 deferred=false layoutNeeded=false其中 mDisplayId 为 显示屏编号,init 是初始分辨率和屏幕密度,app 的高度比 init 里的要小,表示屏幕底部有虚拟按键,高度为 1920 - 1794 = 126px 合 42dp。6)android_id adb shell settings get secure android_id输出示例: 51b6be48bac8c5697)IMEI 在 Android 4.4 及以下版本可通过如下命令获取 IMEI: adb shell dumpsys iphonesubinfo输出示例: Phone Subscriber Info: Phone Type = GSM Device ID = 860955027785041其中的 Device ID 就是 IMEI。而在 Android 5.0 及以上版本里这个命令输出为空,得通过其它方式获取了(需要 root 权限): adb shell su service call iphonesubinfo 1输出示例: service call iphonesubinfo 1 Result: Parcel( 0x00000000: 00000000 0000000f 00360038 00310035 '........8.6.5.1.' 0x00000010: 00360036 00320030 00380039 00330032 '6.6.0.2.9.8.2.3.' 0x00000020: 00350031 00000033 '1.5.3... ')把里面的有效内容提取出来就是 IMEI 了,比如这里的是 865166029823153。 参考:adb shell dumpsys iphonesubinfo not working since Android 5.0 Lollipop8)Android 系统版本 adb shell getprop ro.build.version.release9)Mac 地址 adb shell cat /sys/class/net/wlan0/address返回: f8:a9:d0:17:42:4d9)CPU 信息 adb shell cat /proc/cpuinfo10)内存信息 adb shell cat /proc/meminfo其中,MemTotal 就是设备的总内存,MemFree 是当前空闲内存。 更多硬件与系统属性 设备的更多硬件与系统属性可以通过如下命令查看: adb shell cat /system/build.prop这会输出很多信息,包括前面几个小节提到的「型号」和「Android 系统版本」等。 输出里还包括一些其它有用的信息,它们也可通过 adb shell getprop 命令单独查看列举部分返回属性: 属性名 含义 ro.build.version.sdk SDK 版本 ro.build.version.release Android 系统版本 ro.build.version.security_patch Android 安全补丁程序级别 ro.product.model 型号 ro.product.brand 品牌 ro.product.name 设备名 ro.product.board 处理器型号 ro.product.cpu.abilist CPU 支持的 abi 列表 persist.sys.isUsbOtgEnabled 是否支持 OTG dalvik.vm.heapsize 每个应用程序的内存上限 ro.sf.lcd_density 屏幕密度查看连接过的 WiFi 密码 注:需要 root 权限。 命令: adb shell su cat /data/misc/wifi/*.conf输出示例: network={ ssid="TP-LINK_9DFC" scan_ssid=1 psk="1122334455" key_mgmt=WPA-PSK group=CCMP TKIP auth_alg=OPEN sim_num=1 priority=13893 } network={ ssid="TP-LINK_F11E" psk="5544332211" key_mgmt=WPA-PSK sim_num=1 priority=17293 }ssid 即为我们在 WLAN 设置里看到的名称,psk 为密码,key_mgmt 为安全加密方式。 设置系统日期和时间 注:需要 root 权限。 命令: adb shell su date -s 20171030.161600表示将系统日期和时间更改为 2017 年 10 月 30 日 16 点 16 分 00 秒。重启手机 adb reboot检测设备是否已 root adb shell su此时命令行提示符是 $ 则表示没有 root 权限,是 # 则表示已 root。 开启/关闭 WiFi 注:需要 root 权限。 有时需要控制设备的 WiFi 状态,可以用以下指令完成。 开启 WiFi: adb root adb shell svc wifi enable关闭 WiFi: adb root adb shell svc wifi disable若执行成功,输出为空;若未取得 root 权限执行此命令,将执行失败,输出 Killed。 查看进程 adb shell ps返回: USER PID PPID VSIZE RSS WCHAN PC NAME root 1 0 9412 980 00000000 08073a60 S /init root 2 0 0 0 00000000 00000000 S kthreadd root 3 2 0 0 00000000 00000000 S ksoftirqd/0 root 5 2 0 0 00000000 00000000 S kworker/0:0H root 7 2 0 0 00000000 00000000 S rcu_preempt root 8 2 0 0 00000000 00000000 S rcu_sched root 9 2 0 0 00000000 00000000 S rcu_bh root 10 2 0 0 00000000 00000000 S rcuop/0 root 11 2 0 0 00000000 00000000 S rcuos/0 root 12 2 0 0 00000000 00000000 S rcuob/0 root 13 2 0 0 00000000 00000000 S migration/0 root 14 2 0 0 00000000 00000000 S watchdog/0 root 15 2 0 0 00000000 00000000 S watchdog/1 root 16 2 0 0 00000000 00000000 S migration/1 root 17 2 0 0 00000000 00000000 S ksoftirqd/1 root 18 2 0 0 00000000 00000000 S kworker/1:0 root 19 2 0 0 00000000 00000000 S kworker/1:0H列名 含义 USER 所属用户 PID 进程 ID PPID 父进程 ID NAME 进程名 查看实时资源占用情况 adb shell top输出返回: PID PR CPU% S #THR VSS RSS PCY UID Name 7 1 0% S 1 0K 0K fg root rcu_preempt 1530 0 0% S 75 1633276K 104552K fg system system_server 3 0 0% S 1 0K 0K fg root ksoftirqd/0 5 0 0% S 1 0K 0K fg root kworker/0:0H 8 0 0% S 1 0K 0K fg root rcu_sched 9 0 0% S 1 0K 0K fg root rcu_bh 10 1 0% S 1 0K 0K fg root rcuop/0 11 0 0% S 1 0K 0K fg root rcuos/0 12 0 0% S 1 0K 0K fg root rcuob/0列名 含义 PID 进程 ID PR 优先级 CPU% 当前瞬间占用 CPU 百分比 S 进程状态(R=运行,S=睡眠,T=跟踪/停止,Z=僵尸进程) #THR 线程数 VSS Virtual Set Size 虚拟耗用内存(包含共享库占用的内存) RSS Resident Set Size 实际使用物理内存(包含共享库占用的内存) PCY 调度策略优先级,SP_BACKGROUND/SPFOREGROUND UID 进程所有者的用户 ID NAME 进程名 其他 命令 功能 cat 显示文件内容 cd 切换目录 chmod 改变文件的存取模式/访问权限 df 查看磁盘空间使用情况 grep 过滤输出 kill 杀死指定 PID 的进程 ls 列举目录内容 mount 挂载目录的查看和管理 mv 移动或重命名文件 ps 查看正在运行的进程 rm 删除文件 top 查看进程的资源占用情况参考:ADB Usage Complete / ADB 用法大全 使用android adb命令详解实例 原文: Android adb shell命令详解及实例 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |